package com.xx.log.controller;

import com.xx.log.common.pojo.dto.Test2DTO;
import com.xx.log.common.pojo.dto.TestDTO;
import com.xx.log.common.pojo.vo.TestVO;
import com.xx.log.common.util.MixUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

@RestController
@Slf4j
@Api("测试控制器")
@RequestMapping("/test")
public class TestController {

    @GetMapping("/get")
    public void testGet(@ModelAttribute TestDTO testDTO, @ModelAttribute Test2DTO test2DTO) {
        log.info("testDTO:{} test2DTO:{}", testDTO, test2DTO);
    }

    @GetMapping("/p1")
    @ApiOperation("p1测试")
    public TestVO test0(TestDTO testDTO) {
        log.info("testDTO:{}", testDTO);
        return TestVO.builder().code(0).msg(MixUtil.toJsonString(testDTO)).build();
    }

    @PostMapping("/p2")
    public TestVO test(@RequestBody TestDTO testDTO) {
        log.info("testDTO:{}", testDTO);
        return TestVO.builder().code(0).msg(MixUtil.toJsonString(testDTO)).build();
    }

    @PostMapping("/p3")
    public TestVO test2(@RequestBody TestDTO testDTO, @RequestBody Test2DTO test2DTO) {
        log.info("testDTO:{} test2DTO:{}", testDTO, test2DTO);
        return TestVO.builder().code(0).msg(MixUtil.toJsonString(testDTO)).build();
    }


}
